今天分享第三種方式:使用JSON.NET類庫
首先要先Nuget Newtonsoft.Json
以下是序列化的方式
List<Student> lstStuModel = new List<Student>()
{
new Student(){ID=1,Name="張飛",Age=250,Sex="男"},
new Student(){ID=2,Name="潘金蓮",Age=300,Sex="女"}
};
//Newtonsoft.Json序列化
string jsonData = JsonConvert.SerializeObject(lstStuModel);
Console.WriteLine(jsonData);
以下是反序列化的方式
//Newtonsoft.Json反序列化
string json = @"{ 'Name':'C#','Age':'3000','ID':'1','Sex':'女'}";
Student descJsonStu = JsonConvert.DeserializeObject<Student>(json);//反序列化
Console.WriteLine(string.Format("反序列化: ID={0},Name={1},Sex={2},Sex={3}", descJsonStu.ID, descJsonStu.Name, descJsonStu.Age, descJsonStu.Sex));
以下是完整程式碼
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace ConsoleTest2
{
public class Student
{
public int ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Sex { get; set; }
}
class Program
{
static void Main(string[] args)
{
List<Student> lstStuModel = new List<Student>()
{
new Student(){ID=1,Name="張飛",Age=250,Sex="男"},
new Student(){ID=2,Name="潘金蓮",Age=300,Sex="女"}
};
//Newtonsoft.Json序列化
string jsonData = JsonConvert.SerializeObject(lstStuModel);
Console.WriteLine(jsonData);
//Newtonsoft.Json反序列化
string json = @"{ 'Name':'C#','Age':'3000','ID':'1','Sex':'女'}";
Student descJsonStu = JsonConvert.DeserializeObject<Student>(json);//反序列化
Console.WriteLine(string.Format("反序列化: ID={0},Name={1},Sex={2},Sex={3}", descJsonStu.ID, descJsonStu.Name, descJsonStu.Age, descJsonStu.Sex));
Console.ReadKey();
}
}
}
以下是程式畫面
總結:最後還是儘量使用JSON.NET來序列化和反序列化,性能好
In this article we discussed about how many ways we can implement serialization/deserialization in C#. However JSON.NET wins over other implementations because it facilitates more functionality of JSON validation, JSON schema, LINQ to JSON etc. So use JSON.NET always.
Json到這裡已經告一段落了,
接下來我們會用ASP.NET MVC寫一個簡單的註冊功能,
還有簡單的登入功能,
看我這個速度應該會超過30天,
超過30天還是會繼續寫,
會把整個基本的功能都完成為止。
--
小弟不才,
如果有謬誤或是要補充的,
都歡迎一起來討論!